/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * InterfazAdministrarLaboratorio.java
 *
 * Created on 26/10/2011, 03:24:29 AM
 */

package presentacion;

import Paneles.PanelGeneral;
import business.LaboratorioBO;
import dao.LaboratorioDao;
import dominio.Laboratorio;
import java.awt.BorderLayout;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
import presentacion.models.ModelLaboratorio;
import javax.swing.ImageIcon;



/**
 *
 * @author KOFMASTER
 */
public class InterfazAdministrarLaboratorio extends javax.swing.JFrame {
    private LaboratorioBO laboratoriobo;
    private ImageIcon icono;
    /** Creates new form InterfazAdministrarLaboratorio */
    
    @SuppressWarnings("empty-statement")
    public InterfazAdministrarLaboratorio() {


        initComponents();
          PanelGeneral panel=new PanelGeneral();
         this.add(panel,BorderLayout.SOUTH);
         icono = new ImageIcon(getClass().getResource("/Imagenes/icon.gif"));
         this.setIconImage(icono.getImage());

     

        
         /*Cambio el ancho de las columnas de la tabla jTable1*/
  
        laboratoriobo =new LaboratorioBO();
        this.inicializarTablaLaboratorio();
        jtable.setEditingColumn(1);
        jtable.setEditingColumn(2);
        jtable.setEditingColumn(3);
       
    }

    private void inicializarTablaLaboratorio(){
        List<Laboratorio> listaLaboratorio=laboratoriobo.findAll();
        int numfilas = listaLaboratorio.size();

         jtable.setModel((TableModel) new DefaultTableModelImpl(
            new Object[numfilas][5],
            new String [] {
                "Número", "Nombre", "Capacidad", "Descirpcion", "Disponible"
            }));

        for (int indicefilas = 0; indicefilas < numfilas; indicefilas++) {
            this.jtable.setValueAt(listaLaboratorio.get(indicefilas).getIdLaboratorio(), indicefilas, 0);
            this.jtable.setValueAt(listaLaboratorio.get(indicefilas).getnombreLab(), indicefilas, 1);
            this.jtable.setValueAt(listaLaboratorio.get(indicefilas).getcapacidadlab(), indicefilas, 2);
            this.jtable.setValueAt(listaLaboratorio.get(indicefilas).getdescripcionLab(), indicefilas, 3);
            this.jtable.setValueAt(listaLaboratorio.get(indicefilas).getdisponibildaLab(), indicefilas, 4);

          
        }
    }
    private class DefaultTableModelImpl extends DefaultTableModel {
      

        public DefaultTableModelImpl(Object[][] arg0, Object[] arg1) {
            super(arg0, arg1);
        }
        boolean[] canEdit = new boolean[]{false, true, true, true, true, true};

        @Override
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit[columnIndex];
        }

    }

      private void borrarDatoLaboratorio() {
       Integer idLaboratorio = (Integer) jtable.getValueAt(jtable.getSelectedRow(), 0);

        Integer confirmar = JOptionPane.showOptionDialog(this, "Esta seguro que desea " +
                "Eliminar el Laboratorio ",
                "Confirmar eliminar Laboratorio",
                JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE,
                null, new Object[]{"Si", "No, deseo volver"}, "Si");
        if (confirmar == 0) {
            laboratoriobo.borrarLaboratorio(idLaboratorio);

            inicializarTablaLaboratorio();
        }
    }

    private void ActualizarDatos() {
        Integer idLaboratorio = (Integer) jtable.getValueAt(jtable.getSelectedRow(), 0);
        String nombreLab = (String) jtable.getValueAt(jtable.getSelectedRow(), 1);
        Integer capacidadLab = Integer.parseInt(jtable.getValueAt(jtable.getSelectedRow(), 2).toString());
        String descripcionLab = (String) jtable.getValueAt(jtable.getSelectedRow(), 3);
        String disponibilidadLab = (String) jtable.getValueAt(jtable.getSelectedRow(), 4);

        Integer confirmar = JOptionPane.showOptionDialog(this, "Esta seguro que desea " +
                "Actualizar el Laboratorio ",
                "Confirmar Actualizar Laboratorio",
                JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE,
                null, new Object[]{"Si", "Cancelar"}, "Si");
        if (confirmar == 0) {
            if (laboratoriobo.actualizarLaboratorio(idLaboratorio, capacidadLab,
            nombreLab, descripcionLab, disponibilidadLab) == 1)
            {
                inicializarTablaLaboratorio();
                JOptionPane.showMessageDialog(this, "Laboratorio actualizado Correctamente", null, JOptionPane.INFORMATION_MESSAGE);
            }
            else{
                JOptionPane.showMessageDialog(this, "Hubo un error al actualizar los datos", null, JOptionPane.INFORMATION_MESSAGE);

            }
        }
    }
   
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jLabel7 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        textNombre = new javax.swing.JTextField();
        textCapacidad = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        crearLab = new javax.swing.JButton();
        textDescripcion = new javax.swing.JTextField();
        numeroLab = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jComboBox1 = new javax.swing.JComboBox();
        jPanel2 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jScrollPane2 = new javax.swing.JScrollPane();
        jtable = new javax.swing.JTable();
        Actualizar = new javax.swing.JButton();
        Cancelar = new javax.swing.JButton();

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        setTitle("Administrar Laboratorios");

        jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/escudo.jpg"))); // NOI18N

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Creación de Laboratorio", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N
        jPanel1.setToolTipText("Creacion de Laboratorios");
        jPanel1.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
        jPanel1.setEnabled(false);

        jLabel1.setText("Nombre del  laboratorio");

        jLabel3.setText("Capacidad ");

        crearLab.setText("Crear Laboratorio");
        crearLab.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                crearLabActionPerformed(evt);
            }
        });

        numeroLab.setEditable(false);
        numeroLab.setForeground(new java.awt.Color(240, 240, 240));
        numeroLab.setBorder(null);

        jLabel8.setText("Descripción:");

        jLabel4.setText("Disponible");

        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "No", "SI" }));

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addComponent(jLabel3)
                            .addComponent(jLabel4)
                            .addComponent(jLabel8))
                        .addGap(51, 51, 51)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(crearLab)
                            .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(textCapacidad, javax.swing.GroupLayout.DEFAULT_SIZE, 104, Short.MAX_VALUE)
                                .addComponent(textNombre, javax.swing.GroupLayout.DEFAULT_SIZE, 227, Short.MAX_VALUE))
                            .addComponent(textDescripcion))
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addComponent(numeroLab, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(textNombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(textCapacidad, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel4)
                            .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(15, 15, 15)
                        .addComponent(numeroLab, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(textDescripcion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(34, 34, 34)
                        .addComponent(crearLab))
                    .addComponent(jLabel8))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Consultar Laboratorio", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jButton1.setText("Eliminar Laboratorio");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jtable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Título 1", "Título 2", "Título 3", "Título 4"
            }
        ));
        jScrollPane2.setViewportView(jtable);
        jtable.getColumnModel().getColumn(0).setResizable(false);
        jtable.getColumnModel().getColumn(1).setResizable(false);
        jtable.getColumnModel().getColumn(2).setResizable(false);
        jtable.getColumnModel().getColumn(3).setResizable(false);

        Actualizar.setText("Actualizar Datos");
        Actualizar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ActualizarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 687, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGap(104, 104, 104)
                        .addComponent(Actualizar, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(132, 132, 132)
                        .addComponent(jButton1)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {Actualizar, jButton1});

        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Actualizar)
                    .addComponent(jButton1))
                .addContainerGap(16, Short.MAX_VALUE))
        );

        Cancelar.setText("Cancelar ");
        Cancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CancelarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jLabel7)
                            .addGap(23, 23, 23)
                            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGap(18, 18, 18))
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                            .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addContainerGap()))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(Cancelar)
                        .addGap(92, 92, 92))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(118, 118, 118))
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(Cancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel1.getAccessibleContext().setAccessibleName("Nombre");

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void crearLabActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_crearLabActionPerformed

         if ( textNombre.getText().equals("")||textCapacidad.getText().equals("")
                 || textDescripcion.getText().equals("")  ) {
                     JOptionPane.showMessageDialog(this, "Debe digitar los datos completos " +
                    "para crear un Laboratorio", null, JOptionPane.ERROR_MESSAGE);
        }
         else {
                LaboratorioBO bo = new LaboratorioBO();
               int  ok = bo.crearLaboratorio( Integer.parseInt(textCapacidad.getText()), textNombre.getText(),
                        textDescripcion.getText(), jComboBox1.getSelectedItem().toString());

                textNombre.setText("");
                textCapacidad.setText("");
                jComboBox1.getSelectedItem();
                textDescripcion.setText("");
                if (ok == 1) {

                    JOptionPane.showMessageDialog(this, "Se ha creado el Laboratorio " +
                            "con exito", "Creacion exitosa !!!", JOptionPane.INFORMATION_MESSAGE);
                      this.inicializarTablaLaboratorio();
                }
                else {
                    JOptionPane.showMessageDialog(this, "Ocurrio un error al crear" +
                            " el Laboratorio", "Creacion fallida", JOptionPane.ERROR_MESSAGE);
                }
            }
    }//GEN-LAST:event_crearLabActionPerformed

    private void ActualizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ActualizarActionPerformed
        if (jtable.getSelectedRow() != (-1)) {
            ActualizarDatos();          
        }
        else {
            JOptionPane.showMessageDialog(this, "Lo sentimos!\n\nNo ha escogido un" +
                    "Laboratorio para Actualizar",
                    "Laboratorio Desconocido", JOptionPane.ERROR_MESSAGE);
        }


       /* if ( jtable.getSelectedRow()== -1) {
            JOptionPane.showMessageDialog(this, "Debe seleccionar uno de los Laboratorios de la lista ",
                    null, JOptionPane.ERROR_MESSAGE);
        }
             LaboratorioBO bo= new LaboratorioBO();
           int id = bo.encontrarLaboratorio(jtable.getSelectedRow());
            if (id != 0) {

               int  ok = bo.actualizarLaboratorio(jtable.getSelectedRow());

               
               textNombre.setText("");
                textCapacidad.setText("");
                jComboBox1.setSelectedIndex(0);
                textDescripcion.setText("");
                if (ok == 1) {
                    JOptionPane.showMessageDialog(this, "Se ha Actualizado el aula con exito", "Actualizacion exitosa", JOptionPane.INFORMATION_MESSAGE);
                }
                else {
                    JOptionPane.showMessageDialog(this, "Ocurrio un error al editar el aula", "Actualizacion fallida =(", JOptionPane.ERROR_MESSAGE);
                }
            }
        }*/

       inicializarTablaLaboratorio();

    }//GEN-LAST:event_ActualizarActionPerformed



    private void CancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CancelarActionPerformed
        this.setVisible(false);
    }//GEN-LAST:event_CancelarActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed

        if (jtable.getSelectedRow() != (-1)) {
            borrarDatoLaboratorio();
        }
        else {
            JOptionPane.showMessageDialog(this, "Lo sentimos!\n\nNo ha escogido un" +
                    "Laboratorio para Borrarr",
                    "Laboratorio Desconocido", JOptionPane.ERROR_MESSAGE);
        }
    }//GEN-LAST:event_jButton1ActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new InterfazAdministrarLaboratorio().setVisible(true);
            }
        });
    }




    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton Actualizar;
    private javax.swing.JButton Cancelar;
    private javax.swing.JButton crearLab;
    private javax.swing.JButton jButton1;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTable jTable1;
    private javax.swing.JTable jtable;
    private javax.swing.JTextField numeroLab;
    private javax.swing.JTextField textCapacidad;
    private javax.swing.JTextField textDescripcion;
    private javax.swing.JTextField textNombre;
    // End of variables declaration//GEN-END:variables

}
